<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

    </script>
<!--     
    1. DNS解析：将域名地址解析为IP地址
        - 浏览器DNS缓存
        - 系统DNS缓存
        - 路由器DNS缓存
        - 网络运营商DNS缓存
        - 递归（迭代）搜索： blog.baidu.com
            - .com 域名下查找DNS解析
            - .baidu域名下查找DNS解析
            - blog域名下查找DNS解析
            - 出错了


    2. TCP连接，TCP三次握手
        - 第一次握手 由浏览器发起，告诉服务器我要发起请求了
        - 第二次握手 由服务器发起 告诉浏览器我准备好了
        - 第三次握手 由浏览器发起 告诉服务器我马上就要发了

    3. 发送请求
        - 请求报文：http协议的通信内容
    
    4. 接受响应
        - 响应报文

    5. 渲染页面
        - 遇见HTML标记，浏览器调用HTML解析器解析成Token并构建成dom树
        - 遇见style/link标记，浏览器调用css解析器，处理css标记并构建css.om树
        - 遇到script标记，调用javascript解析器，处理script代码（绑定事件，修改dom树/cssom树)
        - 将dom树和cssom树合并成一个渲染树
        - 根据渲染树来计算布局，计算每个节点的几何信息.（布局)将各个节点颜色绘制到屏幕上（渲染)

        注意这些并不执行一次
    
    6.断开连接(四次挥手)
    第一次挥手:由浏览器发起的，发送给服务器，我东西发送完了（请求报文），你准备关闭吧
    第二次挥手:由服务器发起的，告诉浏览器，我东西接受完了(请求报文)，我准备关闭了，你也准备吧
    第三次挥手:由服务器发起，告诉浏览器，我东西发送完了（响应报文)，你准备关闭吧
    第四次挥手:由浏览器发起，告诉服务器，我东西接受完了，我准备关闭了，你也准备吧
     -->
</body>
</html>